package pe.edu.upc.groupon.dao.jdbc;

import java.util.List;
import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;
import org.springframework.stereotype.Repository;
import pe.edu.upc.groupon.dao.ProductoDao;
import pe.edu.upc.groupon.model.Producto;

@Repository
public class ProductoDaoJdbc extends SimpleJdbcDaoSupport implements ProductoDao {

	@Autowired
	public ProductoDaoJdbc(DataSource dataSource)
	{
		setDataSource(dataSource);
	}
	
	public Producto find(String idproducto)
	{
		try
		{
			return getSimpleJdbcTemplate().queryForObject("select idproducto, titulo, descripcion, precio, cantidad, imagen from productos where idproducto=?",
					new BeanPropertyRowMapper<Producto>(Producto.class), idproducto);
		}
		catch(EmptyResultDataAccessException e)
		{
			return null;
		}
	}
	
	public List<Producto>findAll()
	{
		return getSimpleJdbcTemplate().query(
				"select idproducto, titulo, descripcion, precio, cantidad, imagen from productos",
				new BeanPropertyRowMapper<Producto>(Producto.class));
	}
}
